The field of the disclosure relates generally to the startup of computer-based systems that incorporate a BIOS (basic input/output system) that initiates execution of one or more programs, and more particularly to methods and systems that incorporate preboot data verification for such programs.
Generally, when power is first applied to a computer system, a startup program is run that is stored in non-volatile memory. Such a startup program may be referred to as boot firmware, and is colloquially referred to as a BIOS program. The BIOS program is executed in computer systems that range from a standard personal computer to an embedded system that is deployed as a piece of avionics (e.g., an avionics unit or “black box”) in an aircraft.
Execution of a BIOS program is useful to detect and identify system components that are communicatively coupled to the processing device on which the BIOS is being executed. For example, computer hard drives, displays, and external memory devices are identified and addressed through execution of the BIOS such that software drivers for such devices may be loaded upon the BIOS turning operation over to an operating system. In some applications, the BIOS may include software that initiates a built in test (BIT) to be run; thereby determining that the hard drives, displays, etc. are at least partially operating. That is, the processor is able to communicate with the device. Eventually the BIOS execution is complete, with a portion of the BIOS instructions causing the operating system, or in the case of an aircraft system, the operational flight program (OFP), associated with the device to begin its operations.
In such systems, the BIOS operates to initiate execution of the operating system or OFP. However, the BIOS does not include any instructions that allow it to verify the content of the operating system or OFP. As such, if the operating systems, OFP, or any other application is corrupted, operation of the particular system may be compromised, or it will not operate at all.
In the aircraft avionics example, problems during execution of the OFP from the BIOS or boot ROM are a cause of false remove and replace actions. For example, if the device does not execute the OFP properly, the avionics device is removed and replaced, with the removed device being sent to a maintenance depot. Oftentimes, the problem with the removed device as described cannot be duplicated or it is determined that the OFP is corrupted. As such, the repair consists of the OFP being reloaded, retested, and returned to service.